package com.huitone.gddw.dao.system;

import java.util.List;
import java.util.Map;

import com.huitone.gddw.dao.entity.Dept;
import com.huitone.gddw.service.dto.system.DeptDTO;

public interface IDeptDao {
    int insert(Dept record);

    int insertSelective(Dept record);
	/**
	 * 删除
	 * @param deptId
	 * @return
	 */
    int deleteByPrimaryKey(String deptId);
    /**
     * 更新
     * @param record
     * @return
     */
    int updateByPrimaryKey(Dept record);
    
    List<Dept>getAll();
    /**
     * 根据父单位id获取记录
     * @param parentId
     * @return
     */
    List<Dept> getByParentId(String parentId);

    /**
     * 根据deptLevel 获取单位
     * @param deptLevel
     * @return
     */
    List<Dept> getDeptByLevel(String deptLevel); 
    /**
     * 根据deptName 获取单位
     * @param deptName
     * @return
     */
    List<Dept> getByName(String deptName); 
    /**
     * 根据ID获取记录
     * @param deptId
     * @return
     */
    Dept getById(String deptId);
    /**
     * 页面列表查询
     * @param map
     * @return List<DeptDTO> 
     */
    List<DeptDTO> selectPage(Map<String,Object> map);
    
    /**
     * 查询总记录数
     * @param map
     * @return
     */
    int selectCount(Map<String,Object> map);
    
    /**
     * toUpdate
     * @param deptId
     * @return
     */
    DeptDTO toUpdate(String deptId);
    
    /**
     * 	获取序列
     * @return
     */
    String getSequence();
}